1. Field of the Invention
The present invention relates to network management and, more particularly, to a system and method for recording accounting times by an Agent in a network and their retrieval by the network Manager so that accurate time accounting is maintained when prior art time accounting systems and methods have failed.
2. Background and Prior Art
Data communication has become a fundamental part of computing. World-wide networks gather data about such diverse subjects as atmospheric conditions, crop production, and airline traffic. These networks evolved as independent entities without the ability, or, until recently, the need, to interconnect with one another. New technologies, generically named "internetworking", have emerged making it possible to interconnect many disparate physical networks and make them function as a coordinated unit. Using internetworking technologies, a host, for example, on one network, may send data which traverses multiple networks to communicate with another host on a different network.
The size of an "internet", or group of interconnected networks, can vary quite significantly. For instance, the resulting network may be enormously large, such as the nation-wide DARPA (Defense Advanced Research Projects Agency)/NSF (National Science Foundation) Internet which connects most major research institutions, including universities, corporate and government labs. Conversely, the network may be relatively small, comprising only a single corporation's individual local area networks (LANs).
No matter the size of the network, it is clear that the task of effectively managing the resulting interconnected network is quite important and has been given a great deal of attention in the networking community. In managing a network, a network manager must keep track of the devices on the networks, monitor the network's performance and load, and diagnose and correct any problems.
Using presently available network management protocols such as SNMP (Simple Network Management Protocol) and CMIP (Common Management Information Protocol), network administrators (via "Managers") can address queries and commands to managed network nodes and devices (via "Agents") as the means of communication for managing the network.
FIG. 1 illustrates a simplified network having four interconnected nodes, Node 1, Node 2, Node 3 and Node 4. The nodes are logically interconnected by transmission groups (TGs). As can be seen, Node 1 is connected to Node 2 by TG A, Node 1 to Node 4 by TG E, and so forth. Each node is a managed network device and has an Agent for keeping management data and for communicating with the Manager, which is logically connected to each Agent.
The Manager is responsible for, among other things, monitoring network performance and status, controlling operational parameters, and reporting, analyzing and isolating faults in its managed domain. Furthermore, the Manager must maintain accounting data of the activity in its managed domain for customer billing, performance analysis, capacity planning and problem determination. In order to effectively accomplish these functions, the Manager requires precise and timely accounting data, including data related to time, regarding the network activity from the nodes in the network. In particular, there are many types of data in which an accurate TIME record is required. For example, in order for a network administrator to accurately bill a customer for the customer's network usage, the network administrator must know the length of time that the customer used the network as well as the time of day (and day of the week), i.e., calendar time, as usage rates may vary accordingly.
Few solutions for accurately recording times of events are available. For instance, in many systems, the Agents do not maintain the calendar time for the locale in which they reside. Instead, the Agents record the timing of events using "timeticks". Timeticks are cumulative units of time, e.g., hundredths of a second, since a specified point in time, normally since the Agent's clock began running. The use of timeticks is useful where elapsed time between events is desired. However, there is no precise manner of determining calendar time as there is no known reference point with which to correlate the elapsed time. In this case, the Manager must make a "best guess" as to the Agent's actual calendar time. Obviously, the accuracy of the times provided by this approach are highly questionable.
In other systems, Agents collect accounting data based upon local calendar time. In these systems, problems may occur where the Agent's calendar time is quite different than the Manager's calendar time at the outset. Some of these problems may be solved by synchronizing all the clocks in the system. However, the synchronization of clocks across all devices in a network is normally expensive and not feasible in many environments. Furthermore, each Agent's clock may be locally adjusted (such as for a bi-yearly time change) without the knowledge of the Manager so that compensation may be made. In this case, both the actual calendar time and the elapsed time between events would be affected.
In summary, presently, there is no method or system which a Manager may obtain accurate calendar time data from its Agents that have independent clocks on a consistent basis.